//package org.ccg
//
//
//import io.ktor.serialization.kotlinx.json.*
//import io.ktor.server.application.*
//import io.ktor.server.engine.*
//import io.ktor.server.netty.*
//import io.ktor.server.plugins.contentnegotiation.*
//import io.ktor.server.response.*
//import io.ktor.server.routing.*
//import kotlinx.serialization.Serializable
//
///**
// * CacheService
// */
//@Serializable
//data class User(val id: Int, val name: String)
//
//fun Application.module() {
//
//    install(ContentNegotiation) {
//        json()
//    }
//
//    // 路由定义
//    routing {
//        // 示例1: 基础 GET
//        get("/") {
//            call.respondText("Hello Ktor 3.2.0!")
//        }
//        // 示例2: 自动 JSON 响应
//        get("/api/user") {
//            call.respond(User(1, "Ktor最新版用户"))
//        }
//
//        // 示例3: 带查询参数
//        get("/api/greet") {
//            val name = call.request.queryParameters["name"] ?: "访客"
//            call.respond(mapOf("message" to "$name，你好！这是Ktor 3.2.0"))
//        }
//
//        // 示例4: 路径参数
//        get("/user/{id}") {
//            val id = call.parameters["id"]?.toIntOrNull()
//                ?: throw IllegalArgumentException("ID必须为数字")
//            call.respond(User(id, "用户$id"))
//        }
//
//        get("/api/decode") {
//            val allParams = buildString {
//                append("所有查询参数:\n")
//                call.request.queryParameters.entries().forEach { (key, values) ->
//                    append("$key = ${values.joinToString()}\n") // 处理多值参数
//                }
//            }
//            call.respondText(allParams)
//        }
//
//        get("/api/encode") {
//            val name = call.request.queryParameters["name"] ?: "访客"
//            call.respond(mapOf("message" to "$name，你好！这是Ktor 3.2.0"))
//        }
//        //根据key从本地取出对应数据
//        get("/api/get/{key}") {
//            call.parameters["key"]?.let {
//                val str = MMKV.getString(it)
//                println("ASDAD  " + str)
//                if (str.isNullOrEmpty()) {
//                    call.respondText("")
//                } else {
//                    call.respondText(str)
//                }
//            }
//            call.respondText("")
//        }
//
//        get("/api/put") {
//            buildString {
//                call.request.queryParameters.entries().forEach { (key, values) ->
//                    MMKV.put(key, values.joinToString())
//                }
//            }
//            call.respondText("成功")
//        }
//    }
//}
//
//fun main() {
//    // 启动服务器（新版API更简洁）
//    embeddedServer(
//        factory = Netty,
//        port = 80,
//        module = Application::module
//    ).start(wait = true)
//}